const App = getApp();

Page({
  /**
   * 页面的初始数据
   */
  data: {
    // 积分商品分类列表
    categoryList: [],
    // 积分商品列表
    goodsList: [],
    // 当前的分类id (0则代表首页)
    category_id: 0,
    scrollHeight: null,
    option: {}, // 当前页面参数
    list: {}, // 积分商品列表数据
    no_more: false, // 没有更多数据
    isLoading: true, // 是否正在加载中
    page: 1, // 当前页码
  },

  /**
   * 跳转积分兑换规则
   */
  gotoIntegralRule() {
    let _this = this
    App.navigationTo('pages/points/rule/index')
  },

  /**
   * 兑换记录跳转到订单列表
   */
  gotoOrderList() {
    let _this = this
    App.navigationTo('pages/points/order/index')
  },

  /**
   * 跳转到可用积分列表来源
   */
  gotoAvailablePoint() {
    let _this = this
    App.navigationTo('pages/points/log/index')
  },

  /**
   * 跳转到曙光币页面
   */
  gotoCoin(){
    let _this = this
    App.navigationTo('pages/points/log/coin/index')
  },

  /**
   * 生命周期函数--监听页面加载
   */
  onLoad(options) {
  },

  /**
   * 生命周期函数--页面加载
   */
  onShow() {
    let _this = this;
    // Api：获取积分商城首页
    _this.setListHeight();
    this.getIndexData();
  },

  /**
   * Api：获取积分商城列表
   */
  getIndexData() {
    let _this = this;
    // 获取积分商城首页
    App._get('points.index/index', {}, result => {
      _this.setData({
        categoryList: result.data.categoryList,
        topBackground: result.data.topBackground,
        userInfo: result.data.userInfo,
        category_id: result.data.categoryList[0].category_id,
      });
      // Api：获取积分商城商品列表
      _this.getGoodsList();
    });

  },

  /**
   * Api：切换导航栏
   */
  onSwitchTab(e) {
    let _this = this;
    // 第一步：切换当前的分类id
    _this.setData({
      category_id: e.currentTarget.dataset.id,
      goodsList: {},
      page: 1,
      no_more: false,
      isLoading: true,
    });
    // 第二步：更新当前的积分商城商品列表
    _this.getGoodsList();
  },

  /**
   * Api：获取积分商城商品列表
   */
  getGoodsList(isPage, page) {
    let _this = this;
    App._get('points.goods/lists', {
      page: page || 1,
      category_id: _this.data.category_id
    }, result => {
      let resList = result.data.list,
        dataList = _this.data.goodsList;
      if (isPage == true) {
        _this.setData({
          'goodsList.data': dataList.data.concat(resList.data),
          isLoading: false,
        });
      } else {
        _this.setData({
          goodsList: resList,
          isLoading: false,
        });
      }
    });
  },

  /**
   * 跳转积分商城商品详情页
   */
  onTargetGoods(e) {
    wx.navigateTo({
      url: './goods/index?goods_id=' + e.currentTarget.dataset.id
    });
  },

  /**
   * 下拉到底加载数据
   */
  bindDownLoad() {
    // 已经是最后一页
    if (this.data.page >= this.data.goodsList.last_page) {
      this.setData({
        no_more: true
      });
      return false;
    }
    // 加载下一页列表
    this.getGoodsList(true, ++this.data.page);
  },

  /**
   * 设置商品列表高度
   */
  setListHeight() {
    let systemInfo = wx.getSystemInfoSync(),
      rpx = systemInfo.windowWidth / 750, // 计算rpx
      tapHeight = Math.floor(rpx * 570), // tap高度
      scrollHeight = systemInfo.windowHeight - tapHeight; // swiper高度
    this.setData({
      scrollHeight
    });
  },

  /**
   * 页面触底函数调用
   */
  onReachBottom: function () {
    let _this = this;
    // 调用加载页面
    _this.bindDownLoad()
  },

  /**
   * 分享当前页面
   */
  onShareAppMessage() {
    return {
      title: '积分商城首页',
      path: "/pages/points/index?" + App.getShareUrlParams()
    };
  },

  /**
   * 分享到朋友圈
   * 本接口为 Beta 版本，暂只在 Android 平台支持，详见分享到朋友圈 (Beta)
   * https://developers.weixin.qq.com/miniprogram/dev/framework/open-ability/share-timeline.html
   */
  onShareTimeline() {
    return {
      title: '积分商城',
      path: "/pages/points/index?" + App.getShareUrlParams()
    };
  },

})